package pers.luchuan.consumer.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * 注解通过name指定需要调用的微服务的名称，用于创建Ribbon的负载均衡器。
 * 所以Ribbon会把 service-provider 解析为注册中心的服务
 * fallback是声明要调用的降级方法
 */
@FeignClient(name = "service-provider", fallback = ServiceProviderFeignClientCallBack.class) //指定需要调用的微服务名称
public interface ServiceProviderFeignClient {
    //调用的请求路径
    @RequestMapping(value = "/provider/{id}", method = RequestMethod.GET)
    String test(@PathVariable Long id);
}